It has been proposed to provide a non-volatile memory cell in the form of a programmable resistive element. Such resistive elements are programmable to adopt one of high and low resistive states. The programmed resistive state is maintained even when a supply voltage of the memory cell is disconnected, and therefore data can be stored by such an element in a non-volatile fashion.
A resistive memory is a device that comprises a plurality of memory cells each comprising a resistive element, the cells for example forming an array. To read the programmed data from one of the memory cells of the resistive memory, the memory cell is selected, and a current is passed through the resistive element of the cell. The high or low resistive state of the resistive element can then be detected by measuring the level of current passing through the resistive element.
A difficulty is that, in order to keep energy consumption and chip area relatively low, the high and low resistive states tend to have relatively similar resistances. Furthermore, process dispersion may lead to the real resistances being even closer. For example, for an average resistance of around 4 k ohms, the difference between the high and low resistive states may be as low as 200 ohms, in other words only around 5 percent. There is thus a technical need in the art for a read circuit capable of accurately detecting such a low current variation resulting from the two resistive states.